package com.superb.allocation.service.oss;

import com.aliyun.oss.model.ObjectMetadata;

import java.io.File;
import java.io.InputStream;

/**
 * 文件对象相关
 * @Author: ajie
 * @CreateTime: 2024-07-04 16:34
 */
public interface UploadService {

    /**
     * 文件上传，上传字节
     * @param bytes
     * @return
     */
    String upload(byte[] bytes, ObjectMetadata meta, String filename);

    /**
     * 网络上传
     * @param url
     * @return
     */
    String upload(String url, ObjectMetadata meta, String filename);

    /**
     * 流上传
     * @param inputStream 文件流
     * @param meta 源数据
     * @param filename 文件名
     * @return
     */
    String upload(InputStream inputStream, ObjectMetadata meta, String filename);

    /**
     * 文件上传
     * @param file
     * @return
     */
    String upload(File file, ObjectMetadata meta, String filename);

    /**
     * 删除文件
     * @param key
     * @return
     */
    boolean delete(String key);

}
